package com.soft.mainsite.module.city.dto;

import com.soft.mainsite.module.city.entity.City;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * CityDto.java 此类用于城市dto
 *
 * @author:李昭阳
 * @date:2019/4/12 0012
 * @remark:
 */
@Data
public class CityDto extends City {
    /**
     * 站点路径
     */
    private String siteUrl;
    /**
     * 站点域名
     */
    private String domain;
    /**
     * 站点key
     */
    private String siteKey;
    /**
     * 站点模版
     */
    private String template;
    /**
     * 站点手机模版
     */
    private String mobileTpl;

    /**
     * 实体类列表转dto列表
     * @param entityList
     * @return
     */
    public static List<CityDto> convertEntityToDtos(List<City> entityList) {
        List<CityDto> dtoList = new ArrayList<>();
        for (City entity : entityList) {
            if (entity == null) {
                continue;
            }
            dtoList.add(convertEntityToDto(entity));
        }
        return dtoList;
    }

    /**
     * 实体类转dto
     * @param entity
     * @return
     */
    public static CityDto convertEntityToDto(City entity) {
        CityDto dto = new CityDto();
        BeanUtils.copyProperties(entity, dto);
        return dto;
    }

    /**
     * dto列表转实体类列表
     * @param dtoList
     * @return
     */
    public static List<City> convertDtoToEntitys(List<CityDto> dtoList){
        List<City> entityList = new ArrayList<>();
        for (CityDto dto : dtoList) {
            if(dto == null){
                continue;
            }
            entityList.add(convertDtoToEntity(dto));
        }
        return entityList;
    }

    /**
     * dto转实体类
     * @param dto
     * @return
     */
    public static City convertDtoToEntity(CityDto dto) {
        City entity = new City();
        BeanUtils.copyProperties(dto, entity);
        return entity;
    }
}
